package com.elm.dao;

import java.util.List;

import com.elm.model.User;

public interface UserDao {
	/**
	 * 	验证用户名是否存在
	 * @param uname 传入的用户名
	 * @return 存在返回true
	 */
	public boolean validateUname(String uname);
	/**
	 *  验证手机号是否存在
	 * @param uphone 传入的手机号
	 * @return 存在返回true
	 */
	public boolean validateUphone(String uphone);
	/**
	 * 用户注册
	 * @param u  传入的用户信息
	 * @return 成功返回true
	 */
	public boolean addUser(User u);
	/**
	 *  验证用户是否存在
	 * @param u 传入的用户
	 * @return	存在user对象
	 */
	public User validateUser(User u);

	/**
	 * 通过输入的用户名查找用户信息
	 * @param username 用户名
	 * @return 用户信息集合
	 */
	public List<User> FindUserByName(int start,int pageSize,String searchname);
	/**
	 * 查询当前模糊查询下面有几条数据
	 * @return
	 */
	public int getUsersCountByName(String searchname);
	/**
	 * 查询总共有多少用户
	* @param uerid
	 * @return
	 */
	public int getUsersCount();
	/**
	 * 查询所有用户
	 * @return
	*/
	public List<User> FindAllUsers(int start,int pageSize);
	/**
	 * 通过id来删除用户
	 * @param userid
	 * @return 删除成功返回true
	 */
	public boolean deleteuser(int usid);
	/**
	 * 查找全部过往用户
	 */
	public List<User> FindOldUsers(int start,int pageSize);
	/**
	 * 查询总共有多少个过往用户
	 */
	public int getOldUsersCount();
	/**
	 * 通过名字查找过往用户
	 */
	public List<User> FindOldUserByName(int start,int pageSize,String searchname);
	/**
	 * 模糊查询条件下总共有多少个过往用户
	 */
	public int getOldUserCountByName(String searchname);
	/**
	 * 通过id来还原用户
	 * @param userid
	 * @return 删除成功返回true
	 */
	public boolean restoreuser(int usid);
	
	/**
	 * 更改用户信息
	 * @param newpsw newaddr newphone
	 * @return  成功返回1，失败返回0
	 */
	public int updateUserInfobyUserid(String newpsw, String newaddr, String newphone, int userid);
}
